package com.training1.core.modules.dao;

import java.util.List;
import java.util.Map;

import com.training1.core.common.dao.CrudDao;
import com.training1.core.common.dao.annotation.MyBatisDao;
import com.training1.core.entity.ContractDetEntity;

@MyBatisDao
public interface ContractDetDao extends CrudDao<ContractDetEntity>{

	/**
	 * 根据id查询具体每一期具体信息
	 * 
	 * @return
	 */
	public List<ContractDetEntity> findContractExeById(Map<String, Object> param);

	/**
	 * 根据合同ID 查询合同执行详情
	 * 
	 * @param param
	 * @return
	 */
	public ContractDetEntity getByContractBaseId(Map<String, Object> param);

	/**
	 * 根据合同id 查询没有还款的日期最小的一期
	 */
	public ContractDetEntity getRecentContractById(Map<String, Object> param);

	/**
	 * 根据id 查询最后一期合同
	 * 
	 * @param param
	 * @return
	 */
	public ContractDetEntity getLastContract(Map<String, Object> param);

	/**
	 * 更新基本合同信息表
	 * 
	 * @param param
	 * @return
	 */
	public void updateContractBase(Map<String, Object> param);
}
